package com.biz.primus.model.order.enums;

import com.biz.primus.common.enums.EnumerableValue;
import com.biz.primus.common.enums.converter.BaseEnumValueConverter;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 物流状态<p>
 * FOR_OUTBOUND：待出库、
 * FOR_TAKE_THEIR：待自提、
 * DISTRIBUTING：配送中、
 * SIGNED：已签收、
 * PART_OF_SIGNED：部分签收、
 * REJECT：拒收
 * </p>
 *
 * @author Tiger Feng
 * @date 2017年10月30日
 */
@AllArgsConstructor
@Getter
public enum DeliveryState implements EnumerableValue {

    FOR_OUTBOUND(0, "待出库"),
    FOR_TAKE_THEIR(5, "待自提"),
    DISTRIBUTING(10, "配送中"),
    /**
     * 已签收,可以评价
     */
    SIGNED(15, "已签收"),
    /**
     * 部分签收,可以评价
     */
    PART_OF_SIGNED(20, "部分签收"),
    REJECT(25, "拒收");

    public static class Converter extends BaseEnumValueConverter<DeliveryState> {
    }

    private final int value;
    private final String desc;
}
